This forum is closed to new posts and
responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:
You can change the Servlet console handler level to be less than FINER if you don't want to see these messages in the console (they are really debug type messages/details). The default is that you don't see these, but you apparently wanted to see them which is fine.
The 409 is used differently for sync (any device) and ping (Apple only). Corey covered the sync part, so let me explain the ping part.
ActiveSync uses the "Ping" message for what Traveler calls "push" or "auto sync".
The Ping messages are long running. The client opens that connection to the server and the server does not respond to that until it has changes that the device should sync OR a timeout is reach (5 min, 10 min, etc.). Thus, the times for these requests can be short or long depending on how much data you receive.
The Sync messages are NOT long running. The client wants to sync data and the server responds as soon as it can.
The Apple device tries to have only one HTTP request pending with the server at a time. That means that it is either using Ping or Sync at one time but not both.
So, here is a normal flow of what happens:
1. Device is up to date and sends Ping to the server.
2. Some time passes.
3. You receive a new mail on the server.
4. Server responds to the Ping message (200rc) to tell the device to sync.
5. Device sends Sync to the server.
6. Server responds to the Sync message (200rc) with the new mail.
7. Device is done syncing, so it sends a new Ping to the server.
8. The user sees that there is new mail on the Apple and opens Mail.
9. Whenever you open mail, the Mail application does a Sync.
10. Because Apple only maintains one HTTP connection to the server at a time, it has to abandon the pending Ping request and start a new request for Sync. The device closes the Ping and sends Sync to the server.
11. The server gets the Sync request.
12. The server does not get notified that the device has abandoned the Ping, so the server has both requests open at this point.
13. The server knows that the device only has one connection at a time, so the server knows the Ping request has been abandoned. To free up resources (a HTTP thread) on the server, the server closes the abandoned Ping. The server needs to return something to close it (although the device shouldn't be there and shouldn't actually receive the response), so it returns a 409 CONFLICT return code. We chose "conflict" because the it can be interpreted as a conflict between the 2 connections (Sync and Ping).
14. Server responds to the Sync message (200rc).
15. The device is done syncing, so it opens a new Ping request.
And so on and so forth.
The bottom line is that Ping requests will be long running and often (whenever there is a sync request) result in a 409 return code which is not a real problem. The 409 lets us know why the request as returned and whether or not it has real data in it (200) or not (409).
Feedback response number WEBB7XBJ3H created by ~Michelle Umapuloni on 10/30/2009